Me.Locale = New System.Globalization.CultureInfo("en-US")
Me.CaseSensitive = false
Me.EnforceConstraints = true
Me.tablePublishers = New PublishersDataTable
Me.Tables.Add(Me.tablePublishers)
Me.tableTitles = New TitlesDataTable
Me.Tables.Add(Me.tableTitles)
Dim fkc As ForeignKeyConstraint
fkc = New ForeignKeyConstraint("PublishersTitles", New DataColumn() {Me.tablePublishers.PubIDColumn}, New DataColumn() {Me.tableTitles.PubIDColumn})
Me.tableTitles.Constraints.Add(fkc)
fkc.AcceptRejectRule = AcceptRejectRule.None
fkc.DeleteRule = Rule.Cascade
fkc.UpdateRule = Rule.Cascade
Me.relationPublishersTitles = New DataRelation("PublishersTitles", New DataColumn() {Me.tablePublishers.PubIDColumn}, New DataColumn() {Me.tableTitles.PubIDColumn}, false)
Me.Relations.Add(Me.relationPublishersTitles)
End Sub
Private Function ShouldSerializePublishers() As Boolean
Return false
End Function
Private Function ShouldSerializeTitles() As Boolean
Return false
End Function
Private Sub SchemaChanged(ByVal sender As Object, ByVal e As System.ComponentModel.CollectionChangeEventArgs)
If (e.Action = System.ComponentModel.CollectionChangeAction.Remove) Then
Me.InitVars
End If
End Sub
Public Delegate Sub PublishersRowChangeEventHandler(ByVal sender As Object, ByVal e As PublishersRowChangeEvent)
Public Delegate Sub TitlesRowChangeEventHandler(ByVal sender As Object, ByVal e As TitlesRowChangeEvent)
<System.Diagnostics.DebuggerStepThrough()> _
Public Class PublishersDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnPubID As DataColumn
Private columnName As DataColumn
Private columnCompany_Name As DataColumn
Private columnAddress As DataColumn
Private columnCity As DataColumn
Private columnZip As DataColumn
Private columnState As DataColumn
Private columnTelephone As DataColumn
Private columnFax As DataColumn
Private columnComments As DataColumn
Friend Sub New()
MyBase.New("Publishers")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
Me.DisplayExpression = table.DisplayExpression
End Sub
<System.ComponentModel.Browsable(false)> _
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property PubIDColumn As DataColumn
Get
Return Me.columnPubID
End Get
End Property
Friend ReadOnly Property NameColumn As DataColumn
Get
Return Me.columnName
End Get
End Property
Friend ReadOnly Property Company_NameColumn As DataColumn
Get
Return Me.columnCompany_Name
End Get
End Property
Friend ReadOnly Property AddressColumn As DataColumn
Get
Return Me.columnAddress
End Get
End Property
Friend ReadOnly Property CityColumn As DataColumn
Get
Return Me.columnCity
End Get
End Property
Friend ReadOnly Property ZipColumn As DataColumn
Get
Return Me.columnZip
End Get
End Property
Friend ReadOnly Property StateColumn As DataColumn
Get
Return Me.columnState
End Get
End Property
Friend ReadOnly Property TelephoneColumn As DataColumn
Get
Return Me.columnTelephone
End Get
End Property
Friend ReadOnly Property FaxColumn As DataColumn
Get
Return Me.columnFax
End Get
End Property
Friend ReadOnly Property CommentsColumn As DataColumn
Get
Return Me.columnComments
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As PublishersRow
Get
Return CType(Me.Rows(index),PublishersRow)
End Get
End Property
Public Event PublishersRowChanged As PublishersRowChangeEventHandler
Public Event PublishersRowChanging As PublishersRowChangeEventHandler
Public Event PublishersRowDeleted As PublishersRowChangeEventHandler
Public Event PublishersRowDeleting As PublishersRowChangeEventHandler
Public Overloads Sub AddPublishersRow(ByVal row As PublishersRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddPublishersRow(ByVal Name As String, ByVal Company_Name As String, ByVal Address As String, ByVal City As String, ByVal Zip As String, ByVal State As String, ByVal Telephone As String, ByVal Fax As String, ByVal Comments As String) As PublishersRow
Dim rowPublishersRow As PublishersRow = CType(Me.NewRow,PublishersRow)
rowPublishersRow.ItemArray = New Object() {Nothing, Name, Company_Name, Address, City, Zip, State, Telephone, Fax, Comments}
Me.Rows.Add(rowPublishersRow)
Return rowPublishersRow
End Function
Public Function FindByPubID(ByVal PubID As Integer) As PublishersRow
Public Sub New(ByVal row As PublishersRow, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As PublishersRow
Get
Return Me.eventRow
End Get
End Property
Public ReadOnly Property Action As DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class TitlesDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnTitle As DataColumn
Private columnISBN As DataColumn
Private columnYear_Published As DataColumn
Private columnPubID As DataColumn
Private columnSubject As DataColumn
Private columnComments As DataColumn
Private columnDescription As DataColumn
Private columnNotes As DataColumn
Private columnPrice As DataColumn
Private columnDiscountedPrice As DataColumn
Friend Sub New()
MyBase.New("Titles")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
Me.DisplayExpression = table.DisplayExpression
End Sub
<System.ComponentModel.Browsable(false)> _
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property TitleColumn As DataColumn
Get
Return Me.columnTitle
End Get
End Property
Friend ReadOnly Property ISBNColumn As DataColumn
Get
Return Me.columnISBN
End Get
End Property
Friend ReadOnly Property Year_PublishedColumn As DataColumn
Get
Return Me.columnYear_Published
End Get
End Property
Friend ReadOnly Property PubIDColumn As DataColumn
Get
Return Me.columnPubID
End Get
End Property
Friend ReadOnly Property SubjectColumn As DataColumn
Get
Return Me.columnSubject
End Get
End Property
Friend ReadOnly Property CommentsColumn As DataColumn
Get
Return Me.columnComments
End Get
End Property
Friend ReadOnly Property DescriptionColumn As DataColumn
Get
Return Me.columnDescription
End Get
End Property
Friend ReadOnly Property NotesColumn As DataColumn
Get
Return Me.columnNotes
End Get
End Property
Friend ReadOnly Property PriceColumn As DataColumn
Get
Return Me.columnPrice
End Get
End Property
Friend ReadOnly Property DiscountedPriceColumn As DataColumn
Get
Return Me.columnDiscountedPrice
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As TitlesRow
Get
Return CType(Me.Rows(index),TitlesRow)
End Get
End Property
Public Event TitlesRowChanged As TitlesRowChangeEventHandler
Public Event TitlesRowChanging As TitlesRowChangeEventHandler
Public Event TitlesRowDeleted As TitlesRowChangeEventHandler
Public Event TitlesRowDeleting As TitlesRowChangeEventHandler
Public Overloads Sub AddTitlesRow(ByVal row As TitlesRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddTitlesRow(ByVal Title As String, ByVal ISBN As String, ByVal Year_Published As Short, ByVal parentPublishersRowByPublishersTitles As PublishersRow, ByVal Subject As String, ByVal Comments As String, ByVal Description As String, ByVal Notes As String, ByVal Price As Single, ByVal DiscountedPrice As Single) As TitlesRow
Dim rowTitlesRow As TitlesRow = CType(Me.NewRow,TitlesRow)